@Niki
4年前 提问
3个回答

如何防止网站被脱库

GQQQy
4年前
官方采纳

脱库防范我们可以从以下几点入手:

一、黑客利用字典攻击,我们可以引入一个salt,与用户的密码组合到一起,增加密码难度,对组合后的字符串做hash算法算法加密,将其存储到数据库中,增大破解难度。

二、选择相应的安全防护设备,采购WAF、IPS等防护设备为企业增加一道屏障,防止被黑客入侵,此外,还应做好企业员工的安全意识培训防止人为因素导致的信息泄露。
三 MySQL加固
——修改DBA登录密码
在shell环境下执行
mysqladmin -u root password
连续输入两次新密码
非首次修改
mysqladmin -u root password -p原密码
连续输入两次新密码
在mysql下执行t-sql语句
update user set password=password(‘密码’) where user=’root’;

——删除默认数据库和用户
删除测试库
show databases;
drop?database?test;
删除非root用户
use mysql;
delete from user where not (user=’root’) ;
删除密码为空的root用户
delete from user where user=’root’ and password=’’;

——变更DBA用户名
use mysql;
update user set user=”nicai “ where user=”root”;

——在账户管理时使用加密算法
use mysql;

——更改mysql启动用户
修改my.cnf文件
vim /etc/my.cnf
加入如下内容
[mysqld]

——限制远程连接数
修改my.cnf文件,去掉注释符号
vi /etc/my.cnf
加入如下内容
[mysqld]
max_connections = 5
max_user_connections=2
或者限制某个用户,在mysql中执行
GRANT test ON . TO testdb@localhost MAX_USER_CONNECTIONS 2;

——关闭远程管理数据库
修改my.cnf文件,去掉注释符号
vi /etc/my.cnf

#skip-networking

skip-networking

——清理mysql命令历史
注意清理家目录中的.mysql_history
ln -s /dev/null /root/.mysql_history
禁止使用明文模式登陆mysql
mysql -u root -p123.com
应使用隐藏密码方式

——禁止MySql读取本地文件
修改my.cnf文件,加入关闭信息
vi /etc/my.cnf
加入如下内容
[mysqld]
local_infile = 0
或者添加启动选项
用脚本开启mysql
mysqld_safe –local_infile=0 –user=mysql
*****导入的相关测试命令****
vi sqlfile.txt
1,sszng,111
2,sman,222
mysql> load data local infile ‘sqlfile.txt’ into table users fields terminated by ‘,’;

——禁止将表导出到文件

在mysql中修改用户的文件权限
update user set File_priv=‘N’ where user=‘用户名’;
检查配置文件是否存在不合理信息
grep secure_file_priv /etc/my.cnf
secure_file_priv= xxx路径
*****导出的测试命令****

——日常备份数据库

mysqldump –user=root –all-databases –flush-privileges –lock-all-tables \ –master-data=1 –flush-logs –triggers –routines –events \ –hex-blob > 备份路径/文件名时间戳.sql

Andrew
3年前

用户信息“脱库”后,黑客利用字典攻击:维护一个常用密码的字典表,将字典中每个密码用hash算法计算hash值,如果用户“脱库”后的密文和hash值相等,基本就可以认为密文对对应的密码就是字典中的密码。

针对字典攻击,我们可以引入一个盐(salt),与用户的密码组合到一起,增加密码难度,对组合后的字符串做hash算法算法加密,将其存储到数据库中,增大破解难度。不过,安全与攻击是一种博弈关系,不存在绝对的安全,所有安全措施都只是增加攻击成本而已。

FLY
3年前

一般被拖库主要是由于管理员缺乏安全意识,在做数据库备份或是为了方便数据转移,将数据库文件直接放到了Web目录下,而web目录是没有权限控制的,任何人都可以访问的;还有就是网站使用了一些开源程序,没有修改默认的数据库。其实黑客每天都会利用扫描工具对各大网站进行疯狂的扫描,当你的备份的文件名如果落在黑客的字典里,就很容易被扫描扫描到,从而被黑客下载到本地。把上述问题解决一下在被拖库的可能性就很小了。从根本上来说还是要加强DBA的安全意识,否则数据库防护再好也会被社工的。